package org.hbkj.springbootmybatis.dao;

import org.hbkj.springbootmybatis.entity.UserDo;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserDao {
    // 插入用户数据，返回影响行数
    int insert(UserDo userDo);

    // 根据用户ID删除用户，返回影响行数
    int delete(Long id);


    // 更新用户数据（根据UserDo的id匹配），返回影响行数
    int update(UserDo userDo);

    // 根据用户ID查询单个用户信息
    UserDo selectOne(Long id);

    // 查询所有用户信息列表
    List<UserDo> selectAll();

    // 根据用户名查询用户（保留，用于用户名唯一性校验）
    UserDo findByUsername(String username);

    // 新增：根据手机号查询用户（用于手机号登录）
    UserDo findByPhone(String phone);

    // 新增：统计指定手机号的记录数（用于手机号唯一性校验）
    int countByPhone(String phone);
}